Primeras correcciones del paper¶
Lo que se hace aquí son sacar las PDF's parciales del modelo bueno final, para los casos:
- Pt-Pt
- Pt-Pd
- Pt-Co
- Pd-Pd
- Pd-Co
- Co-Co
# importing libraries
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
import plotly.express as px
import os
from sys import path
dir_actual = os.getcwd()
path.insert(0, 'C:/Users/guill/OneDrive/Documentos/Tesis/Proyect')
import PDF.runner as pdf
options = [
['Pt','Pt'],
['Pt','Pd'],
['Pt','Co'],
['Pd','Co'],
['Pd','Pd'],
['Co','Co']
]
for option in options:
temp_name = f'partial_{option[0]}-{option[1]}.xyz'
pdf.filter_xyz('M0-polrad_1_d2.xyz',temp_name, option)
pdf.run_pdf(temp_name, dir_actual, 2600, 0.02)
El archivo temporal partial_Pt-Pt.xyz ha sido creado con los elementos deseados ['Pt', 'Pt'].
c:\Users\guill\OneDrive\Documentos\Tesis\Proyect\paper\corrections1
3.79982996 -4.04217005 -22.7787991 78 93210.0000
0.251980007 -11.9209003 -19.1777992 78 93210.0000
3.73441005 -7.94387007 -19.2996998 78 93210.0000
1195 atomos 713415 pares
Rango de distancias 2.48158979 - 48.4526596
Distancias promedio 23.6963482
Factor de normalizacion 36930.7461
El archivo temporal partial_Pt-Pd.xyz ha sido creado con los elementos deseados ['Pt', 'Pd'].
c:\Users\guill\OneDrive\Documentos\Tesis\Proyect\paper\corrections1
3.79982996 -4.04217005 -22.7787991 78 183692.000
-3.91411996 -4.20700014E-02 -23.2014999 46 183692.000
3.82028008 0.168420002 -22.8414993 46 183692.000
3162 atomos 4997541 pares
Rango de distancias 2.35129619 - 48.7363243
Distancias promedio 23.7601967
Factor de normalizacion 258682.906
El archivo temporal partial_Pt-Co.xyz ha sido creado con los elementos deseados ['Pt', 'Co'].
c:\Users\guill\OneDrive\Documentos\Tesis\Proyect\paper\corrections1
4.50799987E-02 -7.80916977 -22.9058990 27 124503.000
-3.66694999 -4.02750015 -22.9480991 27 124503.000
4.67500016E-02 -4.01785994 -23.0221004 27 124503.000
2354 atomos 2769481 pares
Rango de distancias 2.17662740 - 48.9168205
Distancias promedio 26.2295151
Factor de normalizacion 129852.602
El archivo temporal partial_Pd-Co.xyz ha sido creado con los elementos deseados ['Pd', 'Co'].
c:\Users\guill\OneDrive\Documentos\Tesis\Proyect\paper\corrections1
4.50799987E-02 -7.80916977 -22.9058990 27 121775.000
-3.66694999 -4.02750015 -22.9480991 27 121775.000
4.67500016E-02 -4.01785994 -23.0221004 27 121775.000
3126 atomos 4884375 pares
Rango de distancias 2.17662740 - 49.0387459
Distancias promedio 25.6915932
Factor de normalizacion 234547.625
El archivo temporal partial_Pd-Pd.xyz ha sido creado con los elementos deseados ['Pd', 'Pd'].
c:\Users\guill\OneDrive\Documentos\Tesis\Proyect\paper\corrections1
-3.91411996 -4.20700014E-02 -23.2014999 46 90482.0000
3.82028008 0.168420002 -22.8414993 46 90482.0000
-4.10642004 3.81434989 -22.9447994 46 90482.0000
1967 atomos 1933561 pares
Rango de distancias 2.44924688 - 48.5268288
Distancias promedio 23.8169022
Factor de normalizacion 99608.9062
El archivo temporal partial_Co-Co.xyz ha sido creado con los elementos deseados ['Co', 'Co'].
c:\Users\guill\OneDrive\Documentos\Tesis\Proyect\paper\corrections1
4.50799987E-02 -7.80916977 -22.9058990 27 31293.0000
-3.66694999 -4.02750015 -22.9480991 27 31293.0000
4.67500016E-02 -4.01785994 -23.0221004 27 31293.0000
1159 atomos 671061 pares
Rango de distancias 2.17662740 - 48.9168205
Distancias promedio 28.6401920
Factor de normalizacion 29319.1445
Análisis y Conclusiones de los Datos de Cálculo de las PDFs Parciales¶
1. Pt-Pt¶
- Número de Átomos y Pares: 1195 átomos, 713415 pares.
- Rango de Distancias: 2.48 - 48.45 $\AA$.
- Distancia Promedio: 23.70 $\AA$.
- Factor de Normalización: 36930.75.
- Observación: La contribución de las interacciones Pt-Pt es moderada, ya que la distancia promedio y el factor de normalización son relativamente altos, indicando una distribución más extensa en la nanopartícula.
2. Pt-Pd¶
- Número de Átomos y Pares: 3162 átomos, 4997541 pares.
- Rango de Distancias: 2.35 - 48.74 $\AA$.
- Distancia Promedio: 23.76 $\AA$.
- Factor de Normalización: 258682.91.
- Observación: Las interacciones Pt-Pd son significativas, con un alto número de pares y un rango amplio de distancias, lo que sugiere una notable contribución a la estructura global.
3. Pt-Co¶
- Número de Átomos y Pares: 2354 átomos, 2769481 pares.
- Rango de Distancias: 2.18 - 48.92 $\AA$.
- Distancia Promedio: 26.23 $\AA$.
- Factor de Normalización: 129852.60.
- Observación: Las interacciones Pt-Co tienen una distribución más amplia, con una distancia promedio mayor, lo que indica que Co se encuentra disperso en la nanopartícula en estas interacciones.
4. Pd-Co¶
- Número de Átomos y Pares: 3126 átomos, 4884375 pares.
- Rango de Distancias: 2.18 - 49.04 $\AA$.
- Distancia Promedio: 25.69 $\AA$.
- Factor de Normalización: 234547.63.
- Observación: Las interacciones Pd-Co son extensas, con un alto número de pares y una distancia promedio considerable, sugiriendo una distribución significativa de Co en relación con Pd.
5. Pd-Pd¶
- Número de Átomos y Pares: 1967 átomos, 1933561 pares.
- Rango de Distancias: 2.45 - 48.53 $\AA$.
- Distancia Promedio: 23.82 $\AA$.
- Factor de Normalización: 99608.91.
- Observación: Las interacciones Pd-Pd son menos frecuentes en comparación con otras, reflejando una menor concentración de pares Pd-Pd.
6. Co-Co¶
Es la que ma´s de desvía pero menos contribuye por poder de difracción
- Número de Átomos y Pares: 1159 átomos, 671061 pares.
- Rango de Distancias: 2.18 - 48.92 $\AA$.
- Distancia Promedio: 28.64 $\AA$.
- Factor de Normalización: 29319.14.
- Observación: Las interacciones Co-Co presentan una distancia promedio mayor, indicando que los átomos de Co están más dispersos en la nanopartícula.
Conclusiones Generales¶
Distribuciones Extensas: Las interacciones que involucran Co (especialmente Co-Co) y Pt tienen distancias promedio mayores, sugiriendo una distribución más extensa de estos elementos dentro de la nanopartícula.
Contribuciones Significativas: Las interacciones Pt-Pd y Pd-Co muestran un alto número de pares y factores de normalización elevados, indicando que estas interacciones son cruciales para la estructura global de la nanopartícula.
Interacciones Menores: Las interacciones Pd-Pd y Co-Co son menos frecuentes, reflejando que estas combinaciones de elementos tienen una menor influencia en la estructura general comparado con otras interacciones.
Implicaciones Estructurales: Las diferencias en los factores de normalización y las distancias promedio entre diferentes interacciones sugieren que la estructura final de la nanopartícula es altamente dependiente de las combinaciones y distribuciones de estos elementos.
Estas observaciones permiten una comprensión más detallada de cómo las interacciones atómicas específicas contribuyen a la estructura de la nanopartícula.
Partial PDFs¶
Comparaciones¶
Nota: para este caso se usa el termino "total" para el caso sin parciales, NO el experimental, más bien el calculado
df_ref = pd.read_csv('../../26_de_abril/Post-PtPdCo-PDF.csv', sep='\\s+', header=None, names=['r','G(r)'])
df_ref = df_ref.replace('--',np.nan).dropna()
df_ref = df_ref['G(r)'].iloc[1::2].astype(float)
df_ref = df_ref.reset_index(drop=True)
df_ref.index *= 0.02
df_CoCo = pd.read_csv('partial_Co-Co.txt', sep='\\s+')
df_PdCo = pd.read_csv('partial_Pd-Co.txt', sep='\\s+')
df_PdPd = pd.read_csv('partial_Pd-Pd.txt', sep='\\s+')
df_PtCo = pd.read_csv('partial_Pt-Co.txt', sep='\\s+')
df_PtPd = pd.read_csv('partial_Pt-Pd.txt', sep='\\s+')
df_PtPt = pd.read_csv('partial_Pt-Pt.txt', sep='\\s+')
df_total = pd.read_csv('M0-polrad_1_d2.txt', sep='\\s+')
# fig, ax = plt.subplots(figsize=(10,6), layout='constrained' )
fig, ax = plt.subplots(figsize=(10,6), layout='constrained' )
x = 0
y = 2.2524
ax.plot(df_CoCo['#r(A)'],df_CoCo['G(r)']*y, label='Co-Co')
ax.plot(df_PdCo['#r(A)'], df_PdCo['G(r)']*y + 0.1*x, label = 'Pd-Co')
ax.plot(df_PdPd['#r(A)'], df_PdPd['G(r)']*y + 0.2*x, label = 'Pd-Pd')
ax.plot(df_PtCo['#r(A)'], df_PtCo['G(r)']*y + 0.3*x, label = 'Pt-Co')
ax.plot(df_PtPd['#r(A)'], df_PtPd['G(r)']*y + 0.4*x, label = 'Pt-Pd')
ax.plot(df_PtPt['#r(A)'], df_PtPt['G(r)']*y + 0.5*x, label = 'Pt-Pt')
# ax.plot(df_ref + 0.65*x, label='experimental')
# for i in range(0,7):
# ax.plot(df_total['#r(A)'], df_total['G(r)']*y + 0.1*x*i, label = 'Total')
ax.plot(df_total['#r(A)'], df_total['G(r)']*y + 0.1*x, label = 'Total', color='black')
ax.set_xlabel('r [$\\AA$]')
ax.set_xlim([0,40])
ax.set_ylabel('G(r)')
ax.legend(loc='upper right')
ax.grid()
plt.rc('font', size='12')
plt.rcParams['font.family']='serif'
plt.show()
Gráfico interactivo¶
import plotly.express as px
import plotly.graph_objects as go
import plotly.io as pio
pio.renderers.default = 'plotly_mimetype+notebook'
# Crear una figura de Plotly
fig = go.Figure()
# Agregar cada traza (trace) con los datos correspondientes
fig.add_trace(go.Scatter(x=df_CoCo['#r(A)'], y=df_CoCo['G(r)']*2.2524, mode='lines', name='Co-Co'))
fig.add_trace(go.Scatter(x=df_PdCo['#r(A)'], y=df_PdCo['G(r)']*2.2524 + 0.1*0, mode='lines', name='Pd-Co'))
fig.add_trace(go.Scatter(x=df_PdPd['#r(A)'], y=df_PdPd['G(r)']*2.2524 + 0.2*0, mode='lines', name='Pd-Pd'))
fig.add_trace(go.Scatter(x=df_PtCo['#r(A)'], y=df_PtCo['G(r)']*2.2524 + 0.3*0, mode='lines', name='Pt-Co'))
fig.add_trace(go.Scatter(x=df_PtPd['#r(A)'], y=df_PtPd['G(r)']*2.2524 + 0.4*0, mode='lines', name='Pt-Pd'))
fig.add_trace(go.Scatter(x=df_PtPt['#r(A)'], y=df_PtPt['G(r)']*2.2524 + 0.5*0, mode='lines', name='Pt-Pt'))
fig.add_trace(go.Scatter(x=df_total['#r(A)'], y=df_total['G(r)']*2.2524 + 0.1*0, mode='lines', name='Total', line=dict(color='black')))
# Configurar las etiquetas de los ejes
fig.update_layout(
xaxis_title='r [Å]',
yaxis_title='G(r)',
xaxis=dict(range=[0, 40]),
legend_title_text='Series'
)
# Mostrar la figura
fig.show()
Gráficos de Base y Pesos estadísticos (Nuevo)¶
import plotly.express as px
import plotly.graph_objects as go
import plotly.io as pio
pio.renderers.default = 'plotly_mimetype+notebook'
# Crear una figura de Plotly
fig = go.Figure()
# Agregar cada traza (trace) con los datos correspondientes
fig.add_trace(go.Scatter(x=df_CoCo['#r(A)'], y=df_CoCo['Base']*2.2524, mode='lines', name='Co-Co'))
fig.add_trace(go.Scatter(x=df_PdCo['#r(A)'], y=df_PdCo['Base']*2.2524 + 0.1*0, mode='lines', name='Pd-Co'))
fig.add_trace(go.Scatter(x=df_PdPd['#r(A)'], y=df_PdPd['Base']*2.2524 + 0.2*0, mode='lines', name='Pd-Pd'))
fig.add_trace(go.Scatter(x=df_PtCo['#r(A)'], y=df_PtCo['Base']*2.2524 + 0.3*0, mode='lines', name='Pt-Co'))
fig.add_trace(go.Scatter(x=df_PtPd['#r(A)'], y=df_PtPd['Base']*2.2524 + 0.4*0, mode='lines', name='Pt-Pd'))
fig.add_trace(go.Scatter(x=df_PtPt['#r(A)'], y=df_PtPt['Base']*2.2524 + 0.5*0, mode='lines', name='Pt-Pt'))
fig.add_trace(go.Scatter(x=df_total['#r(A)'], y=df_total['Base']*2.2524 + 0.1*0, mode='lines', name='Total', line=dict(color='black')))
# Configurar las etiquetas de los ejes
fig.update_layout(
xaxis_title='r [Å]',
yaxis_title='G(r)',
xaxis=dict(range=[0, 40]),
legend_title_text='Series'
)
# Mostrar la figura
fig.show()
# Crear una figura de Plotly
fig = go.Figure()
# Factores de normalización
factores_normalizacion = {
'Pt-Pt': 36930.7461,
'Pt-Pd': 258682.906,
'Pt-Co': 129852.602,
'Pd-Co': 234547.625,
'Pd-Pd': 99608.9062,
'Co-Co': 29319.1445
}
n = sum([value for key, value in factores_normalizacion.items()])
print(n)
# Multiplicar cada valor por 0.00001
f_n = {key: value/n for key, value in factores_normalizacion.items()}
print('Weights')
print(f_n)
print(sum([value for key, value in f_n.items()]))
# Agregar cada traza (trace) con los datos correspondientes
fig.add_trace(go.Scatter(x=df_CoCo['#r(A)'], y=df_CoCo['Base']*2.2524*f_n['Co-Co'], mode='lines', name='Co-Co'))
fig.add_trace(go.Scatter(x=df_PdCo['#r(A)'], y=df_PdCo['Base']*2.2524*f_n['Pd-Co'], mode='lines', name='Pd-Co'))
fig.add_trace(go.Scatter(x=df_PdPd['#r(A)'], y=df_PdPd['Base']*2.2524*f_n['Pd-Pd'], mode='lines', name='Pd-Pd'))
fig.add_trace(go.Scatter(x=df_PtCo['#r(A)'], y=df_PtCo['Base']*2.2524*f_n['Pt-Co'], mode='lines', name='Pt-Co'))
fig.add_trace(go.Scatter(x=df_PtPd['#r(A)'], y=df_PtPd['Base']*2.2524*f_n['Pt-Pd'], mode='lines', name='Pt-Pd'))
fig.add_trace(go.Scatter(x=df_PtPt['#r(A)'], y=df_PtPt['Base']*2.2524*f_n['Pt-Pt'], mode='lines', name='Pt-Pt'))
fig.add_trace(go.Scatter(x=df_total['#r(A)'], y=df_total['Base']*2.2524, mode='lines', name='Total', line=dict(color='black')))
# Configurar las etiquetas de los ejes
fig.update_layout(
xaxis_title='r [Å]',
yaxis_title='G(r)',
legend_title_text='Series'
)
# Mostrar la figura
fig.show()
788941.9297999999
Weights
{'Pt-Pt': 0.04681047451662519, 'Pt-Pd': 0.32788586362189825, 'Pt-Co': 0.1645908236020846, 'Pd-Co': 0.2972939023021109, 'Pd-Pd': 0.12625632183759236, 'Co-Co': 0.03716261411968879}
1.0
PDFs y pesos estadísticos (Nuevo)¶
fig = go.Figure()
# Agregar cada traza (trace) con los datos correspondientes
fig.add_trace(go.Scatter(x=df_CoCo['#r(A)'], y=df_CoCo['G(r)']*2.2524*f_n['Co-Co'], mode='lines', name='Co-Co'))
fig.add_trace(go.Scatter(x=df_PdCo['#r(A)'], y=df_PdCo['G(r)']*2.2524*f_n['Pd-Co'], mode='lines', name='Pd-Co'))
fig.add_trace(go.Scatter(x=df_PdPd['#r(A)'], y=df_PdPd['G(r)']*2.2524*f_n['Pd-Pd'], mode='lines', name='Pd-Pd'))
fig.add_trace(go.Scatter(x=df_PtCo['#r(A)'], y=df_PtCo['G(r)']*2.2524*f_n['Pt-Co'], mode='lines', name='Pt-Co'))
fig.add_trace(go.Scatter(x=df_PtPd['#r(A)'], y=df_PtPd['G(r)']*2.2524*f_n['Pt-Pd'], mode='lines', name='Pt-Pd'))
fig.add_trace(go.Scatter(x=df_PtPt['#r(A)'], y=df_PtPt['G(r)']*2.2524*f_n['Pt-Pt'], mode='lines', name='Pt-Pt'))
fig.add_trace(go.Scatter(x=df_total['#r(A)'], y=df_total['G(r)']*2.2524, mode='lines', name='Total', line=dict(color='black')))
# Configurar las etiquetas de los ejes
fig.update_layout(
xaxis_title='r [Å]',
yaxis_title='G(r)',
legend_title_text='Series'
)
# Mostrar la figura
fig.show()
Análisis y Conclusiones del Peso Estadístico de las Interacciones (Nuevo)¶
Gráfico del Peso Estadístico de las Interacciones¶
Interacción predominante: La interacción Pt-Pd (línea naranja) tiene el mayor peso estadístico, alcanzando un valor máximo, lo que indica que esta interacción es la más significativa dentro de la nanopartícula. Esto sugiere que Pt y Pd tienden a estar más cerca y tienen una mayor contribución a la estructura global.
Distribución del peso estadístico: Las interacciones Pt-Pd, Pt-Co y Pd-Co tienen pesos estadísticos más altos en comparación con otras interacciones, indicando que estas combinaciones de elementos tienen una presencia más destacada en la nanopartícula.
Interacciones menos significativas: Las interacciones Pd-Pd (línea verde) y Pt-Pt (línea celeste) tienen los pesos estadísticos más bajos, sugiriendo que estas combinaciones de átomos son menos frecuentes o tienen una influencia menor en la estructura global de la nanopartícula.
Contribución combinada: La línea negra representa la contribución total de todas las interacciones. El pico en la contribución total refleja la suma de todas las interacciones individuales, mostrando cómo cada combinación de elementos contribuye al peso estadístico global.
Variación en diferentes regiones: El gráfico puede mostrar variaciones en el peso estadístico a diferentes distancias, lo que puede indicar cómo cambian las interacciones a medida que se mueve a través de diferentes partes de la nanopartícula.
Importancia de las interacciones Pt y Pd: Las altas contribuciones de las interacciones que involucran Pt y Pd (especialmente Pt-Pd) sugieren que estos elementos juegan un papel clave en la estabilidad y estructura de la nanopartícula.
Análisis Detallado por Interacción¶
- Pt-Pd (naranja): Interacción más significativa con el mayor peso estadístico, crucial para la estructura de la nanopartícula.
- Pd-Co (rojo) y Pt-Co (morado): También tienen altos pesos estadísticos, mostrando su importancia en la distribución atómica.
- Co-Co (azul), Pd-Pd (verde) y Pt-Pt (celeste): Menor peso estadístico, indicando que estas interacciones son menos dominantes.
Estas observaciones proporcionan una comprensión detallada de cómo cada interacción atómica contribuye al peso estadístico global de la nanopartícula, ayudando a revelar la complejidad de su estructura interna.
Consideraciones y mis dudas¶
Como se puede ver en las Gráficas y los pesos estadísticos, la interacción Co-Co la que tiene menos contribución, por lo tanto:
SOSPECHO (unicamente sospecho, sin embargo no sé) que el hecho de que las interacciones Co-Co sean las menos contribuyentes, significa que diferentes perfiles de distribución de cobalto hacia el centro NO SON LA CAUSA del corrimiento lateral de las PDFs de la imagen de abajo. Más bien, la causa del corrimento es la distribución de los otros elementos hacia el centro (sé que suena como lo mismo, sin embargo, es diferente causa).
En caso de ser cierto, sería cuestión de modificar ligeramente la redacción de los resultados y las conclusiones en la tésis y el artículo. Pero para confirmarlo se requiere hacer este análisis de contribuciones con otros perfiles de distribución de cobalto.
Sin embargo, no quiero hacerlo. Y espero que tampoco sea verdad, pues tal vez no me acuerde de análisis pasados y me esté contradiciendo. Así que solamente pongo esto como una hipótesis curiosa que me encontré por ahí. Lo importante es el análisis de pesos estadísticos.
Posibles Gráficas para el Artículo¶
ancho_cm = 16
alto_cm = 32
ancho_pulg = ancho_cm / 2.54
alto_pulg = alto_cm / 2.54
fig, ax =plt.subplots(6,1, sharex=True, figsize=(ancho_pulg, alto_pulg), dpi=200)
fig.subplots_adjust(hspace=0)
ax[0].plot(df_CoCo['#r(A)'],df_CoCo['G(r)']*y, label='Co-Co', color = 'red')
ax[1].plot(df_PdCo['#r(A)'], df_PdCo['G(r)']*y + 0.1*x, label = 'Pd-Co', color = 'red')
ax[2].plot(df_PdPd['#r(A)'], df_PdPd['G(r)']*y + 0.2*x, label = 'Pd-Pd', color = 'red')
ax[3].plot(df_PtCo['#r(A)'], df_PtCo['G(r)']*y + 0.3*x, label = 'Pt-Co', color = 'red')
ax[4].plot(df_PtPd['#r(A)'], df_PtPd['G(r)']*y + 0.4*x, label = 'Pt-Pd', color = 'red')
ax[5].plot(df_PtPt['#r(A)'], df_PtPt['G(r)']*y + 0.5*x, label = 'Pt-Pt', color = 'red')
for i in range(6):
ax[i].plot(df_total['#r(A)'], df_total['G(r)']*y, label = 'Total', color='black')
ax[i].set_xlim([1,25])
ax[i].set_ylim([-0.15,0.45])
#ax[i].label_outer()
for axis in ['top', 'bottom', 'left', 'right']:
ax[i].spines[axis].set(linewidth = 1.6)
ax[5].set_xlabel('r [$\\AA$]')
ax[3].set_ylabel('Partial Atomic PDF G(r)')
xx = 1.5
yy = 0.35
ax[0].text(*[xx,yy], 'a) Co-Co', rotation_mode='anchor')
ax[1].text(*[xx,yy], 'b) Co-Pd', rotation_mode='anchor')
ax[2].text(*[xx,yy], 'c) Pd-Pd', rotation_mode='anchor')
ax[3].text(*[xx,yy], 'd) Pt-Co', rotation_mode='anchor')
ax[4].text(*[xx,yy], 'e) Pt-Pd', rotation_mode='anchor')
ax[5].text(*[xx,yy], 'f) Pt-Pt', rotation_mode='anchor')
plt.rc('font', size=12)
#fpath = Path(mpl.get_data_path(), "C:/Users/guill/Downloads/Fira_Sans/FiraSans-Medium.ttf")
plt.rcParams['font.serif'] = ['Times New Roman']
# fig.savefig('partial_pdfs.png', dpi=500)
plt.show()
ancho_cm = 16
alto_cm = 32
ancho_pulg = ancho_cm / 2.54
alto_pulg = alto_cm / 2.54
fig, ax =plt.subplots(6,1, sharex=True, figsize=(ancho_pulg, alto_pulg), dpi=200)
fig.subplots_adjust(hspace=0)
ax[0].plot(df_CoCo['#r(A)'],df_CoCo['G(r)']*y, label='Co-Co', color = 'red')
ax[1].plot(df_PdCo['#r(A)'], df_PdCo['G(r)']*y + 0.1*x, label = 'Pd-Co', color = 'red')
ax[2].plot(df_PdPd['#r(A)'], df_PdPd['G(r)']*y + 0.2*x, label = 'Pd-Pd', color = 'red')
ax[3].plot(df_PtCo['#r(A)'], df_PtCo['G(r)']*y + 0.3*x, label = 'Pt-Co', color = 'red')
ax[4].plot(df_PtPd['#r(A)'], df_PtPd['G(r)']*y + 0.4*x, label = 'Pt-Pd', color = 'red')
ax[5].plot(df_PtPt['#r(A)'], df_PtPt['G(r)']*y + 0.5*x, label = 'Pt-Pt', color = 'red')
for i in range(6):
ax[i].plot(df_total['#r(A)'], df_total['G(r)']*y, label = 'Total', color='black')
ax[i].set_xlim([25,45])
ax[i].set_ylim([-0.05,0.05])
#ax[i].label_outer()
for axis in ['top', 'bottom', 'left', 'right']:
ax[i].spines[axis].set(linewidth = 1.6)
ax[5].set_xlabel('r [$\\AA$]')
ax[3].set_ylabel('Partial Atomic PDF G(r)')
xx = 25.5
yy = 0.03
ax[0].text(*[xx,yy], 'a) Co-Co', rotation_mode='anchor')
ax[1].text(*[xx,yy], 'b) Co-Pd', rotation_mode='anchor')
ax[2].text(*[xx,yy], 'c) Pd-Pd', rotation_mode='anchor')
ax[3].text(*[xx,yy], 'd) Pt-Co', rotation_mode='anchor')
ax[4].text(*[xx,yy], 'e) Pt-Pd', rotation_mode='anchor')
ax[5].text(*[xx,yy], 'f) Pt-Pt', rotation_mode='anchor')
plt.rc('font', size=12)
#fpath = Path(mpl.get_data_path(), "C:/Users/guill/Downloads/Fira_Sans/FiraSans-Medium.ttf")
plt.rcParams['font.serif'] = ['Times New Roman']
# fig.savefig('partial_pdfs.png', dpi=500)
plt.show()
from mpl_toolkits.axes_grid1.inset_locator import inset_axes
fig, ax =plt.subplots(6,1, sharex=True, figsize=(ancho_pulg, alto_pulg), dpi=200)
fig.subplots_adjust(hspace=0)
ax[0].plot(df_CoCo['#r(A)'],df_CoCo['G(r)']*y, label='Co-Co', color = 'red')
ax[1].plot(df_PdCo['#r(A)'], df_PdCo['G(r)']*y + 0.1*x, label = 'Pd-Co', color = 'red')
ax[2].plot(df_PdPd['#r(A)'], df_PdPd['G(r)']*y + 0.2*x, label = 'Pd-Pd', color = 'red')
ax[3].plot(df_PtCo['#r(A)'], df_PtCo['G(r)']*y + 0.3*x, label = 'Pt-Co', color = 'red')
ax[4].plot(df_PtPd['#r(A)'], df_PtPd['G(r)']*y + 0.4*x, label = 'Pt-Pd', color = 'red')
ax[5].plot(df_PtPt['#r(A)'], df_PtPt['G(r)']*y + 0.5*x, label = 'Pt-Pt', color = 'red')
for i in range(6):
ax[i].plot(df_total['#r(A)'], df_total['G(r)']*y, label = 'Total', color='black')
ax[i].set_xlim([1,25])
ax[i].set_ylim([-0.15,0.45])
#ax[i].label_outer()
for axis in ['top', 'bottom', 'left', 'right']:
ax[i].spines[axis].set(linewidth = 1.6)
w = 1.75
h = 0.5
bta = (0.55, 0.6, 0.2, 0.4)
axins0 = inset_axes(ax[0], width=w, height=h,
bbox_to_anchor=bta, bbox_transform=ax[0].transAxes)
axins1 = inset_axes(ax[1], width=w, height=h,
bbox_to_anchor=bta, bbox_transform=ax[1].transAxes)
axins2 = inset_axes(ax[2], width=w, height=h,
bbox_to_anchor=bta, bbox_transform=ax[2].transAxes
)
axins3 = inset_axes(ax[3], width=w, height=h,
bbox_to_anchor=bta, bbox_transform=ax[3].transAxes
)
axins4 = inset_axes(ax[4], width=w, height=h,
bbox_to_anchor=bta, bbox_transform=ax[4].transAxes)
axins5 = inset_axes(ax[5], width=w, height=h,
bbox_to_anchor=bta, bbox_transform=ax[5].transAxes
)
axins0.plot(df_CoCo['#r(A)'],df_CoCo['G(r)']*y, label='Co-Co', color = 'red')
axins1.plot(df_PdCo['#r(A)'], df_PdCo['G(r)']*y + 0.1*x, label = 'Pd-Co', color = 'red')
axins2.plot(df_PdPd['#r(A)'], df_PdPd['G(r)']*y + 0.2*x, label = 'Pd-Pd', color = 'red')
axins3.plot(df_PtCo['#r(A)'], df_PtCo['G(r)']*y + 0.3*x, label = 'Pt-Co', color = 'red')
axins4.plot(df_PtPd['#r(A)'], df_PtPd['G(r)']*y + 0.4*x, label = 'Pt-Pd', color = 'red')
axins5.plot(df_PtPt['#r(A)'], df_PtPt['G(r)']*y + 0.5*x, label = 'Pt-Pt', color = 'red')
for axis in [axins0, axins1, axins2, axins3, axins4, axins5]:
axis.plot(df_total['#r(A)'], df_total['G(r)']*y, label = 'Total', color='black')
axis.set_xlim([25,45])
axis.set_ylim([-0.05, 0.035])
ax[5].set_xlabel('r [$\\AA$]')
ax[3].set_ylabel('Partial Atomic PDF G(r)')
xx = 1.5
yy = 0.35
ax[0].text(*[xx,yy], 'a) Co-Co', rotation_mode='anchor')
ax[1].text(*[xx,yy], 'b) Co-Pd', rotation_mode='anchor')
ax[2].text(*[xx,yy], 'c) Pd-Pd', rotation_mode='anchor')
ax[3].text(*[xx,yy], 'd) Pt-Co', rotation_mode='anchor')
ax[4].text(*[xx,yy], 'e) Pt-Pd', rotation_mode='anchor')
ax[5].text(*[xx,yy], 'f) Pt-Pt', rotation_mode='anchor')
plt.rc('font', size=12)
#fpath = Path(mpl.get_data_path(), "C:/Users/guill/Downloads/Fira_Sans/FiraSans-Medium.ttf")
plt.rcParams['font.serif'] = ['Times New Roman']
# fig.savefig('partial_pdfs.png', dpi=500)
plt.show()
Resultado Final¶
Comparación entre las Funciones de Distribución de Pares (PDF) obtenidas al considerar las aportaciones parciales de diferentes interacciones atómicas (línea roja) en contraste con la PDF final obtenida a 300 K del modelo con un 8% de Co hacia el centro y 82% en la superficie (línea negra). Las vistas radiales correspondientes se muestran con los átomos de Co en rojo, Pt en blanco y Pd en azul. En el extremo superior de cada subfigura, se muestra la fracción de átomos más allá de los 25 angstroms de radio.
En términos aproximados de concentración relativa por radio:
a) Co-Co: Muestra la contribución parcial de las interacciones Co-Co. El modelo 3D en el extremo superior representa esta interacción. b) Co-Pd: Representa las contribuciones parciales de las interacciones Co-Pd, con un modelo 3D adjunto que muestra estas interacciones específicas. c) Pd-Pd: Detalla las aportaciones parciales de las interacciones Pd-Pd. El gráfico en el extremo superior ilustra un modelo 3D de esta distribución. d) Pt-Co: Expone las contribuciones parciales de las interacciones Pt-Co, acompañado de un modelo 3D correspondiente. e) Pt-Pd: Presenta las aportaciones parciales de las interacciones Pt-Pd, con su modelo 3D en el extremo superior. f) Pt-Pt: Muestra las interacciones parciales de los átomos de Pt, ilustradas en el modelo 3D correspondiente.
Con base en la explicación y la interpretación de la figura anterior, se pueden sacar las siguientes conclusiones sobre la nanopartícula modelo con un 8% de Co hacia el centro y 82% en la superficie a 300 K:
- Contribuciones Parciales: Las PDFs parciales muestran cómo cada tipo de interacción atómica (Co-Co, Co-Pd, Pd-Pd, Pt-Co, Pt-Pd, Pt-Pt) contribuye a la estructura global de la nanopartícula. Esto es crucial para entender cómo las distintas combinaciones de elementos afectan la configuración estructural y las propiedades de la nanopartícula.
- Interacciones Atómicas: Las diferentes subfiguras (a-f) ilustran que las interacciones atómicas tienen un papel significativo en la estabilidad y la configuración de la nanopartícula. Por ejemplo, la figura (a) muestra interacciones Co-Co predominantes en la superficie, mientras que la figura (d) destaca las interacciones Pt-Co en el interior.
- Compatibilidad con Datos Experimentales: La comparación de las líneas rojas (PDFs parciales) con la línea negra (PDF final) indica cuán bien los modelos parciales representan la estructura completa de la nanopartícula. La cercanía de estas líneas sugiere que las interacciones específicas se modelaron de manera adecuada.
Análisis de Diferencias en Interacciones Atómicas y Estructura de la Nanopartícula¶
Al analizar las diferencias entre las líneas negras (PDF final a 300 K) y las líneas rojas (PDFs parciales) en cada gráfico, se pueden inferir varios aspectos importantes sobre las interacciones atómicas y la estructura de la nanopartícula:
a) Co-Co¶
- Observaciones: La línea roja presenta desviaciones significativas respecto a la línea negra en ciertas regiones.
- Inferencia: Las interacciones Co-Co solas no representan completamente la estructura observada en la PDF final. Esto sugiere que otras interacciones (como Co-Pd o Co-Pt) son necesarias para ajustar los datos experimentales.
b) Co-Pd¶
- Observaciones: La línea roja muestra ciertas similitudes con la línea negra, pero también hay diferencias notables.
- Inferencia: Las interacciones Co-Pd contribuyen parcialmente a la estructura global, pero no son suficientes por sí mismas. Las diferencias indican que otras interacciones (probablemente Co-Co, Pd-Pd, etc.) también juegan un papel crucial.
c) Pd-Pd¶
- Observaciones: Hay algunas coincidencias entre las líneas roja y negra, pero también diferencias que destacan.
- Inferencia: Las interacciones Pd-Pd son importantes, pero no dominantes en la configuración estructural final. Otras interacciones deben ser consideradas para una representación completa.
d) Pt-Co¶
- Observaciones: La línea roja se desvía notablemente de la línea negra en ciertas partes del gráfico.
- Inferencia: Las interacciones Pt-Co tienen un papel menor en la estructura final en comparación con otras interacciones. Estas diferencias sugieren que la presencia de Pt está más influenciada por interacciones con Pd u otros elementos.
e) Pt-Pd¶
- Observaciones: La coincidencia entre las líneas roja y negra es moderada, con algunas discrepancias.
- Inferencia: Las interacciones Pt-Pd contribuyen a la estructura, pero no lo suficiente para explicar completamente la PDF final. Es probable que las interacciones con Co y Pd sean más relevantes.
f) Pt-Pt¶
- Observaciones: La línea roja difiere considerablemente de la línea negra, indicando una contribución menor.
- Inferencia: Las interacciones Pt-Pt tienen una influencia limitada en la estructura global de la nanopartícula. Esto sugiere que Pt se encuentra mayormente en interacciones heterogéneas con Co o Pd.
Conclusión General¶
Las diferencias entre las líneas negras y rojas en cada caso resaltan la importancia de considerar múltiples interacciones atómicas para comprender plenamente la estructura de la nanopartícula. Ninguna de las contribuciones parciales por sí sola puede explicar la PDF final; la combinación de todas ellas es lo que define la estructura completa. Esto subraya la complejidad y la naturaleza interdependiente de las interacciones atómicas en materiales compuestos como las nanopartículas.
Conclusiones Particulares¶
- Distribuciones Extensas: Las interacciones que involucran Co (especialmente Co-Co) y Pt tienen distancias promedio mayores, sugiriendo una distribución más extensa de estos elementos dentro de la nanopartícula.
- Contribuciones Significativas: Las interacciones Pt-Pd y Pd-Co muestran un alto número de pares y factores de normalización elevados, indicando que estas interacciones son cruciales para la estructura global de la nanopartícula.
- Interacciones Menores: Las interacciones Pd-Pd y Co-Co son menos frecuentes, reflejando que estas combinaciones de elementos tienen una menor influencia en la estructura general comparado con otras interacciones.
- Implicaciones Estructurales: Las diferencias en los factores de normalización y las distancias promedio entre diferentes interacciones sugieren que la estructura final de la nanopartícula es altamente dependiente de las combinaciones y distribuciones de estos elementos.
Resultados de aquí¶
Análisis y Conclusiones de los Datos de Cálculo de las PDFs Parciales¶
Pt-Pt
- Número de Átomos y Pares: 1195 átomos, 713415 pares.
- Rango de Distancias: 2.48 - 48.45 $\AA$.
- Distancia Promedio: 23.70 $\AA$.
- Factor de Normalización: 36930.75.
- Observación: La contribución de las interacciones Pt-Pt es moderada, ya que la distancia promedio y el factor de normalización son relativamente altos, indicando una distribución más extensa en la nanopartícula.
Pt-Pd
- Número de Átomos y Pares: 3162 átomos, 4997541 pares.
- Rango de Distancias: 2.35 - 48.74 $\AA$.
- Distancia Promedio: 23.76 $\AA$.
- Factor de Normalización: 258682.91.
- Observación: Las interacciones Pt-Pd son significativas, con un alto número de pares y un rango amplio de distancias, lo que sugiere una notable contribución a la estructura global.
Pt-Co
- Número de Átomos y Pares: 2354 átomos, 2769481 pares.
- Rango de Distancias: 2.18 - 48.92 $\AA$.
- Distancia Promedio: 26.23 $\AA$.
- Factor de Normalización: 129852.60.
- Observación: Las interacciones Pt-Co tienen una distribución más amplia, con una distancia promedio mayor, lo que indica que Co se encuentra disperso en la nanopartícula en estas interacciones.
Pd-Co
- Número de Átomos y Pares: 3126 átomos, 4884375 pares.
- Rango de Distancias: 2.18 - 49.04 $\AA$.
- Distancia Promedio: 25.69 $\AA$.
- Factor de Normalización: 234547.63.
- Observación: Las interacciones Pd-Co son extensas, con un alto número de pares y una distancia promedio considerable, sugiriendo una distribución significativa de Co en relación con Pd.
Pd-Pd
- Número de Átomos y Pares: 1967 átomos, 1933561 pares.
- Rango de Distancias: 2.45 - 48.53 $\AA$.
- Distancia Promedio: 23.82 $\AA$.
- Factor de Normalización: 99608.91.
- Observación: Las interacciones Pd-Pd son menos frecuentes en comparación con otras, reflejando una menor concentración de pares Pd-Pd.
Co-Co
- Número de Átomos y Pares: 1159 átomos, 671061 pares.
- Rango de Distancias: 2.18 - 48.92 $\AA$.
- Distancia Promedio: 28.64 $\AA$.
- Factor de Normalización: 29319.14.
- Observación: Las interacciones Co-Co presentan una distancia promedio mayor, indicando que los átomos de Co están más dispersos en la nanopartícula.